Systems and methods for creating an annotated media presentation

ABSTRACT

Systems and methods for creating and playing annotated media presentations are provided. The methods include creating a commentary including annotations regarding a particular video title, reverse compiling the commentary, editing the commentary, and compiling the commentary. The systems include hardware and software for creating commentaries and hardware and software for presenting the created commentaries.

CROSS-REFERENCES TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. ProvisionalApplication No. 60/259,911 filed of Jan. 5, 2001.

[0002] This application is being filed with related U.S. PatentApplications: U.S. Patent Application No. ______ (Attorney Docket No.19223-001610US), entitled “Systems and Methods for Creating a VideoMontage from Titles on a Digital Video Disk”; and U.S. PatentApplication No. ______ (Attorney Docket No. 19223-001510US), entitled“Systems and Methods for Creating Single Video Frame With One or MoreInterest Points” both filed on a date even herewith and eachincorporated herein by reference for all purposes.

BACKGROUND OF THE INVENTION

[0003] This invention relates generally to digital video disk (DVD)technology. More particularly, this invention relates to providingunique playback experience to a viewer.

[0004] In the past, audio/visual (AV) programs such as movies,television shows, music videos, video games, training materials, etc.have typically involved a single play version of the program. The userwould begin play of the program and watch the program from beginning toend. A single presentation was implemented in displaying the program. Auser did not have any option to view the program from a different angle,with a different soundtrack, in a different language, with subtitles,etc. because the video could not accommodate multiple options.

[0005] However, with the introduction of DVD technology, a user now hasgreater number of unique options to choose from. A storyline in a movie,for example, can be shot from different angles and stored as differentversions on a DVD storage medium. Similarly, a movie might be sold withoptional language tracks. Thus, a viewer could decide to watch the moviewith a French language track rather than English, for example. Asanother example, a movie might be presented with different endings.Thus, a user could select a preferred ending option before playing themovie.

[0006] In addition, DVD technology provides a viewer with unique menuingoptions prior to the actual play of the DVD. Such menuing options mayinclude the ability to view deleted scenes, the movie trailer, adirector narrative, the making of special effects, or actor biographies,to name a few. Menuing options may provide “behind the scenes” insightinto the movie or provide the viewer with information reorganized in aformat that is otherwise not available. Anything that enhances the storyand adds to the all-around movie environment creates a more enjoyablemovie viewing experience for the viewer.

[0007] Thus, there is a need for a device and method which is capable ofcreating and providing unique playback options to a viewer of a DVD.There is also a need for a system and method that allows a creator of aDVD title to provide the viewer with options that may be of interestwithout disturbing the integrity of the titles contained on the DVDitself.

SUMMARY OF THE INVENTION

[0008] The present invention provides systems and methods creating,editing and/or presenting commentaries in association with portions ofvideo title(s).

[0009] Some embodiments of the invention include methods incorporatingannotations with a video title. Such embodiments can include identifyinga segment of a video title and providing annotations regarding thesegment. The annotation are formatted and stored as computer readableop-codes. The stored computer readable op-codes form a commentary thatis executable to present a displayed, annotated video presentation.

[0010] Other embodiments of the invention provide systems for creatingcommentaries associated with video titles. Such systems include displaysfor displaying the created commentary and/or the unannotated videotitle. The systems utilize an interpreter for receiving commands from aninput device. The commands can be add verbal commands, add graphiccommands and add vista point commands. Each of the commands isassociated with a video title presented on the display. The system alsoincludes a memory element that includes software operable to receive thecommands from the interpreter, indicate a segment of the video title,and format the commands as a computer executable commentary associatedwith the segment of the video title.

[0011] Yet other embodiments of the invention provide systems forpresenting commentaries associated with one or more video titles. Thesystem includes a memory storage device with a commentary and a videotitle. In addition, the system includes a microprocessor based playerfor retrieving portions of the commentary and portions of the videotitle and for causing a presentation to display. The presentationcomprises images from the video title and annotations directed from thecommentary.

[0012] Other and further advantages and features of the invention willbe apparent to those skilled in the art from a consideration of thefollowing description taken in conjunction with the accompanyingdrawings wherein certain methods and apparatuses for practicing theinvention are illustrated. However, it is to be understood that theinvention is not limited to the details disclosed but includes all suchvariations and modifications as fall within the spirit of the inventionand scope of the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013]FIG. 1 is a system drawing for implementing the present invention;

[0014]FIG. 2 is a block diagram of Nuon™ system;

[0015]FIG. 3 is a block diagram of a media processing system;

[0016]FIG. 4 is a block diagram of a development system for creatingwork-in-progress and run time files in accordance with the presentinvention;

[0017]FIG. 5A shows a video montage created from several video clips;

[0018]FIG. 5B illustrates an individual video clip;

[0019]FIG. 6 illustrates portions of a video title being clipped and, insome instances, manipulated to create vista points;

[0020]FIG. 7 is a detailed view of a vista point including added 2Dgraphics; and

[0021]FIGS. 8A and 8B are flow charts outlining the steps for creating acommentary related to particular video titles and segments thereof.

DESCRIPTION OF THE SPECIFIC EMBODIMENTS

[0022] The invention provides exemplary systems and methods for creatinga compilation of video clips and an associated enhancements related toone or more titles on a DVD. The video clips can be extracted from acompleted film, or video title, using software and/or hardware systems.Further, the video clips or “viddie clips” may be taken from one or morevideo titles available on a DVD including, but not limited to, the mainfeature, theatrical trailers, deleted scenes, and alternate views. Insome embodiments, the associated enhancements can be annotations,including, but not limited to, audio wave files, 2D graphics, textstrings, and zooming and/or panning of the video clips. The annotationsare assembled into a commentary that can be used or executed in relationto the video title(s).

[0023] As used herein, the term “viddie montage” may be used to refer toa compilation of video clips. A viddie montage is a thematic collectionof shots, scenes or sequences, and is typically made up of viddie clips(segments of a video title). Individual video clips may be referred toas “viddie clips.” A viddie clip is the smallest unit within a viddiemontage, and can be an individual shot, scene, or a sequence defined byan “in” and an “out” runtime. As one skilled in the art can appreciate,the terminology used to identify and describe the individual clips andthe compilation should in no way limit the scope of the invention.

[0024] As used herein, a “hyper slide” designates an frame of video, orany other image or graphic associated with a particular scene in a videotitle. For example, a hyper slide may include a single frame of videoshowing a costume worn by an actor in a video title. Such a hyper slidemay be an actual image taken from the video title, or an image made ofthe actor apart from the video title.

[0025] As used herein, the term “commentary” refers to a byte stream ofop-codes and associated parameters executable to display all or portionsof a video title(s) with additional enhancements. An executablecommentary exists as a byte stream of computer readable hexadecimalnumbers, while a reverse compiled byte stream exists as a human readabletest file describing the series of op-codes and parameters in thecommentary. Such a reverse compiled byte stream can be referred to as atextual commentary. As one skilled in the art can appreciate, theterminology used to identify and describe the executable byte stream andthe text representation of the byte stream should in no way limit thescope of the invention.

[0026] Moreover, the invention described herein will occasionally bedescribed in terms of a NUON™ system. As one skilled in the art canappreciate, any software enhanced digital playback device system may beused, but for ease of description and general understanding, thefollowing description will be described in terms of a NUON™ system.

[0027]FIG. 1 illustrates a basic configuration for implementing thevarious embodiments of the present invention. Other configurations maybe utilized, however, the illustrated configuration provides a simpleyet effective implementation. As shown, NUON™ system 10 is a combinationprogrammable single chip media processor with system and applicationsoftware that enables hardware manufacturers to develop sophisticatedand highly interactive digital video playback device. Digital playbackdevices may include, but are in no way limited to, DVD players andset-top boxes to name a few. As shown, system 10 is coupled to display20. System 10 can be a multi-chip media processor, a single chip mediaprocessor with multiple internal paths, or a single chip media processorwith proper memory buffering to handle multiple data streamssimultaneously.

[0028] In one embodiment, system 10 comprises a NUON™ DVD system havinga software layer running in the background. The software can be similarto the operating system on a personal computer (“PC”). The softwareallows enhanced digital video discs to take control of the system in asimilar manner to a software application that operates on a PC. Since itis software based, system 10 is programmable in much the same way as ageneral purpose microprocessor-based computer. Therefore, the system iseasily improved and expanded.

[0029]FIG. 2 is a general block diagram of an exemplary embodiment of asystem 10 configured to process commentaries created in accordance withthe present invention. The system preferably includes a compressed imagegenerator 19, such as a hard disc drive, a cable television system, asatellite receiver, or a CD or DVD player, that can generate or providea digital compressed media stream. System 10 also includes a display 20for displaying decompressed full-motion images. The compressed mediastream, that may include audio and visual data, enters a mediaprocessing system 31 configured to decompress the compressed mediastream. In addition, media processing system 31 also may process digitaldata contained in the compressed data stream or in another storagedevice or digital data source, at the same time as it decompresses thecompressed media stream, thus generating other types of media data thatmay be used with the decompressed media stream. For example, aninteractive, color, full motion video game may be created. Once all ofthe data has been decompressed and processed, the data is output todisplay 20 for viewing. For a cable or satellite television system,media processing system 31 simply may decompress the incoming compresseddigital data and output the images onto display 20, which in accordancewith one embodiment of the present invention, may be a televisionscreen.

[0030]FIG. 3 is a block diagram of the architecture of media processingsystem 31 in accordance with one embodiment of the present invention.Media processing system 31 includes a media processor 32, which canperform a number of operations, such as decompressing compressed videodata, processing digital data that may include the decompressed videodata and/or other digital data to generate full-motion color images, andcontrolling other operations within media processing system 31. Mediaprocessor 32 may be fabricated on a single semiconductor chip, oralternatively, the components of media processor 32 may be partitionedinto several semiconductor chips or devices.

[0031] Additionally, media processing system 31 can include multiplemedia processors 32 to handle a variety of simultaneous data streams.The multiple media processors 32 can be incorporated on a single chip orimplemented using multiple chips. It should thus be recognized that asingle data stream and multiple data streams may be manipulated and/ordisplayed in accordance with the present invention.

[0032] Media processing system 31 also preferably includes one or morestorage devices 34, 46, such as DRAM, SDRAM, flash memory, or any othersuitable storage devices for temporarily storing various types ofdigital data, such as video or visual data, audio data and/or compresseddata. Any data that is to be processed or decompressed by mediaprocessing system 31 preferably can be loaded from a main memory (notshown) into DRAM and/or SDRAM, because DRAM and/or SDRAM can be accessedmore rapidly due to its quicker access time. Data that has beenprocessed by media processing system 31 may be temporarily stored in theDRAM and/or SDRAM either before being displayed on the display or beforebeing returned to the main memory. Various memory configurations arepossible in accordance with the present invention. For example, wheretwo media processors 32 are implemented, each may have a separateinternal memory, or each may share a common memory.

[0033] When processing multimedia data, media processor 32 is configuredto generate a digital image data stream and a digital audio data stream.A video encoder and digital-to-analog converter (DAC) 36 converts thedigital image data output from media processor 32 into analog imagesignals, such as composite video, s-video, component video, or the likethat can be displayed on a display device, such as a television or acomputer monitor. An audio digital-to-analog converter (DAC) 38 convertsthe digital audio signals output by media processor 32 into analog audiosignals (preferably about 2-8 separate audio channels) that can bebroadcast by an audio system, or the like. In accordance with analternative embodiment, media processor 32 also may output an IEC-958stereo audio or encoded audio data signal 39, which is an audio outputsignal intended for connection to systems which may have internal audiodecoders or digital-to-analog converters (DACs).

[0034] Media processor 32 also may include a second storage device 37,such as a read only memory (ROM) or the like, which can be used to storea basic input/output operating system (BIOS) for media processing system31, audio tables that may be used to decompress the audio data andgenerate synthesized audio, and/or any other suitable software or dataused by media processor 32 and media processing system 31. Mediaprocessor 32 further may include an expansion bus 42 connected to asystem bus 41, so that one or more expansion modules 43 may be connectedto media processor 32. Expansion module 43 may include additionalhardware, such as a microprocessor 44 for expanding the functionality ofmedia processing system 31. As illustrated in FIG. 3, additional memory46 also may be connected to processor 32 via expansion bus 42 and systembus 41.

[0035] As just one example, expansion module 43 may be a PC allowinginteraction of a user with media processing system 31. Such interactionmay include the creation of a commentary as described blow, theselection of a viddies for incorporation in a commentary, and/or storageof a custom commentary created by an end viewer.

[0036] Media processor 32 preferably includes several communicationconnections for communicating between media processor 32 and the rest ofmedia processing system 31. A media data connection 50 permits thetransfer of media data between media processor 32 and other systems,such as compressed image generator 19 (FIG. 2). A media controlconnection 52 transfers control signals and/or data between mediaprocessor 32 and other systems, such as I²C compatible devices and/orinterface hardware connected to system bus 41. A user interfaceconnection 54 transfers user interface data between media processor 32and user interface peripherals, such as joysticks, IR remote controldevices, etc. Finally, an input/output channel connection 56 allows forconnections to other I/O devices for further expansion of the system.

[0037] Media processing system 31 may be used for a variety ofapplications, such as full-motion color video games, cable and satellitetelevision receivers, high definition television receivers, computersystems, CD and DVD players, and the like. For example, in a video gameapplication, digital data representing terrain, action figures, andother visual aspects of a game may be stored in main memory or inputfrom a peripheral digital data source. In accordance with this aspect ofthe invention, media processing system 31, and more particularlyprocessor 32, processes the digital data from one or more digital datasources, generating interactive full-motion color images to be displayedon a video game display. Media processing system 31 also may generateaudio signals that may add music and sound effects to the video game.

[0038] For a cable or satellite television receiver, media processingsystem 31 decompresses compressed digital video and audio signalsreceived from a cable head end system or satellite transmitter, andgenerates decompressed digital video and audio signals. The decompresseddigital video and audio signals then are converted into analog signalsthat are output to a television display. Media processing system 31 alsomay be configured to decrypt any encrypted incoming cable or satellitetelevision signals.

[0039] For a DVD player, media processing system 31 preferably receivescompressed digital data from a DVD or CD, and decompresses the data. Atthe same time, media processing system 31 may receive digital datastored on a ROM, for example ROM 40, or input from another digital datasource, and generate a video game environment in which the decompressedDVD or CD color images are displayed along with the data received fromthe ROM or other digital data source. Thus, an interactive, full-motion,color multimedia game may be operated by media processing system 31.

[0040] One of ordinary skill in the art will recognize that othersystems are possible for processing and/or creating commentaries inaccordance with the present invention. Details of other processingsystems and elements thereof are provided in U.S. patent applicationSer. No. 09/476,761 (Attorney Docket No. 19223-000100US), filed Jan. 3,2000, and entitled “A Media Processing System And Method”, the entiretyof which is incorporated herein by reference for all purposes; U.S.patent application Ser. No. 09/476,946 (Attorney Docket No.19223-000600US), filed Jan. 3, 2000, and entitled “Communication Bus fora Multi-processor System”, the entirety of which is incorporated hereinby reference for all purposes; U.S. patent application Ser. No.09/476,698 (Attorney Docket No. 19223-000700US), filed Jan. 3, 2000, andentitled “Subpicture Decoding Architecture And Method”, the entirety ofwhich is incorporated herein by reference for all purposes.

[0041]FIG. 4 is a block diagram illustrating components of a NUON™development system 25 for creating work-in-progress and run time filesin accordance with one aspect of the present invention. Developmentsystem 25 is used by an author who creates enhanced DVD titles for usein NUON™ DVD system 10, otherwise referred to as an enhancement author.In one embodiment, development system 25 comprises a personal computer30 coupled to a NUON™ DVD reference player 40 using an Ethernetconnection 50. In another embodiment, personal computer 30 could also bea hub connected to a server, such that multiple computers would haveaccess to NUON™ DVD reference player 40. NUON™ DVD reference player 40is coupled to a NUON™ DVD emulator 60. In some embodiments, emulator 60obviates the need to create a digital video disc to review an authoredmontage. In one embodiment, NUON™ DVD emulator 60 is a storage devicesuch as a hard drive, and is used to emulate the operation of a DVD andfor storing any work-in-progress. NUON™ DVD reference player 40 is alsocoupled to a display 70. As shown, PC 30 is connected to certain inputdevices, such as, for example, joysticks 91, keyboards 92, graphicstablets 94, and microphones 93 attached to it.

[0042] Using a system such as that described in relation to FIGS. 1-4,embodiments of the present invention expand the abilities of an authorof a video title to comment on various scenes in the video title orprovide additional video effects that enhance the output of the videotitle. For example, the present invention provides an author with theability to zoom into part of a scene to point out details of the scene,while providing a verbal description of the details. Alternatively, orin addition, the present invention provides the author with tools thatallow for freezing a video title on a particular frame, drawing directlyinto a scene, assembling a group of viddie clips into a viddie montage,and/or making gamma correction to entire frames or portions thereof.

[0043] In some embodiments, an authoring tool in accordance with thepresent invention is implemented in software compiled to run on PC 30.PC 30 is connected to development system 25, such as is described inrelation to FIG. 4. Various input devices attached to the PC provide amechanism whereby an author can, using the present invention, create acommentary associated with a video title(s).

[0044] In some embodiments, the authoring tool sends events todevelopment system 25 via PC 30. Development system 25 receives theevents and displays a real-time version of the commentary underdevelopment, while simultaneously displaying back the main video title,segment and/or hyper slide. In this way, the author is provided withimmediate feedback about the commentary in progress. Thus, if the authormakes an error, or otherwise desires to change the commentary, theauthor may delete the previous comments and provide the desired commentsin their place.

[0045] The authoring tool records the actions of the author in memory onPC 30. The recorded actions of the author become the commentary. Forexample, if the author zooms in on a particular portion of a video frameand makes a verbal comment about the portion, both the zoom and theaudio will be recorded as part of the commentary. Either duringproduction of the commentary or after the commentary is complete, thecommentary can be edited by retrieving the commentary from memory andmaking modifications thereto.

[0046] Once the commentary is finalized and all editing is completed,the final version is stored to memory. The commentary can then be copiedto a digital video disk including the video title(s) to which thecommentary is related. Alternatively, the commentary can be provided viaa floppy disk that is accessible by a PC operated by an end viewer andattached to an enhanced digital video disk player.

[0047] In some embodiments, the commentary includes the portions ofvideo to which it refers. In such cases, the commentary can be run as astand alone video title. In alternate embodiments, the commentarycontains only the commands executed in relation to the video title(s)and access information for accessing the portions of the video title(s)to which the commands relate. Thus, the commentary embodied as a binarybyte stream is executed by retrieving video portions indicated by theaccess information and performing functions on the video portions asindicated by the commands.

[0048] The byte stream is interpreted by an interpreter 17 of system 10.In some embodiments, the first byte of a series of bytes is an op-code,telling system 10 the operation to be performed as well as the number ofparameters to follow in relation to the op-code. The op-code is thenfollowed by the prescribed number of parameters. In some embodiments,the op-codes include calls specific to system 10 as well as to a 2-Dgraphics library. Such embodiments can be tailored for executiondirectly by system 10. Other embodiments can include op-codes executableby a particular environment of a PC. Such embodiments can be tailoredfor execution by a PC in communication with system 10.

[0049] In some embodiments, the op-codes are fixed lengths, such aseight bits. The following summarizes op-codes provided in relation to aparticular embodiment of the present invention:

[0050] Timer Op-Codes

[0051] HALT—0×00

[0052] This op-code marks the end of a commentary.

[0053] TIMER EVENT—0×01

[0054] This op-code causes the commentary to pause and wait until thespecified time has passed. Playback of the script will resume when thetime of the video title(s) matches the specified time. The specifiedtime is provided via a 32 bit TIME parameter passed with the op-code.

[0055] RESET TIMER—0×02

[0056] This op-code resets the timer associated with the commentary.

[0057] PAUSE TIMER—0×03

[0058] This op-code causes the timer associated with the commentary topause.

[0059] RESUME TIMER—0×04

[0060] This op-code causes the timer associated with the commentary toresume after a pause.

[0061] Presentation Op-Codes

[0062] SET ZOOM—0×10

[0063] This op-code sets the zoom parameter associated with a particularframe or scene of the video title. A 32-bit parameter, ZOOM, is passedwith the op-code indicating the amount of zoom. A factor greater than1.0 indicates a zoom in, while a factor less than 1.0 indicates a zoomout.

[0064] SET PAN—0×11

[0065] This op-code sets the pan offsets from the center of thedisplayed image. It is effective only when zooming in. Two 32-bitparameters, X-OFFSET and Y-OFFSET, are passed with the op-code toindicate the offset values for the X and Y directions, respectively.

[0066] RESIZE DISPLAY WINDOW—0×12

[0067] This op-code defines a window on screen in which the displayedvideo is directed. In some embodiments, the effect is zoom-out, andplace the zoomed result in a given location. However, this is separatefrom the zoom factors, which will remain at 1.0. Any future zoom in orout will be done relative to this new window and not the entire displayarea or screen. This op-code is followed by four 16-bit parameters,X-OFFSET, Y-OFFSET, WIDTH and HEIGHT. The parameters identify thelocation and size of the display window within the entire display area.

[0068] FREEZE—0×13

[0069] This op-code causes the video title to freeze at a particularframe.

[0070] RESUME—0×14

[0071] This op-code causes the video title to resume playing.

[0072] GOTO BOOKMARK—0×15

[0073] This op-code cause the commentary to continue the display at aparticular point of the video title. The op-code is followed by a 96-bitparameter indicating the location of the bookmark.

[0074] GOPAST BOOKMARK—0×16

[0075] This op-code cause the commentary to continue only after acertain bookmark has been passed. The op-code is followed by a 96-bitparameter indicating the location of the bookmark.

[0076] PLAY TITLE—0×20

[0077] This op-code selects which video title will be displayed. Theop-code is followed by a 32-bit parameter indicating which title numberto be played. For example, where a DVD includes a main feature and atheatrical trailer, this op-code is used to select which of the mainfeature or the theatrical trailer will be played.

[0078] PLAY CHAPTER—0×21

[0079] This op-code causes a particular chapter of a video title to bedisplayed. The op-code is followed by two 32-bit parameters, TITLENUMBER and CHAPTER, used to select the particular title and theparticular chapter within the title.

[0080] PLAY—0×22

[0081] This op-code causes the video title to play.

[0082] PAUSE—0×23

[0083] This op-code causes the video title to pause.

[0084] STOP—0×24

[0085] This op-code causes the video title to stop.

[0086] FAST FORWARD—0×25

[0087] This op-code causes the video title to fast forward. When thisop-code immediately follows the PLAY op-code, the video title is fastforwarded while still displaying. Otherwise, the video title is notdisplayed while fast forwarded.

[0088] FAST REVERSE—0×26

[0089] This op-code causes the video title to fast reverse. When thisop-code immediately follows the PLAY op-code, the video title is fastreversed while still displaying. Otherwise, the video title is notdisplayed while fast reversed.

[0090] Graphic Engine Op-Codes

[0091] SET STYLE—0×40

[0092] This op-code sets the style of the graphic primitives. Theop-code is followed by a sub-op-code, describing which kind of style(line, text, etc . . . ) to be set. In one particular embodiment, it ispossible to predefine up to 255 styles for each graphics primitive. Theop-code is followed by a number of parameters including, for example,parameters related to the width, color and type of lines, parametersrelated to the display of ellipses, text, and other graphic primitives.

[0093] DRAW POINT—0×41

[0094] This op-code causes a single point to be drawn at coordinatesindicated by the 16-bit X and Y LOCATION parameters passed with theop-code.

[0095] FILL COLOR—0×42

[0096] This op-code causes a rectangle to be formed and filled with aparticular color. Four 16-bit parameters, X-LOCATION, Y-LOCATION, HEIGHTand WIDTH are passed with the op-code to indicate the location of therectangle. In addition, a 32-bit parameter is passed with the op-codeindicating the color used to fill the rectangle.

[0097] DRAW LINE—0×43

[0098] This op-code causes a line to be drawn from start coordinates toend coordinates. Thus, four 16-bit parameters, XSTART, YSTART, XEND andYEND, indicating the location for the line are passed with the op-code.

[0099] DRAW STYLED LINE—0×44

[0100] This op-code causes a line of preset style to be drawn fromstarting coordinates to ending coordinates. The op-code is followed byan 8-bit parameter indicating the line style and four 16-bit parameters,XSTART, YSTART, XEND and YEND, indicating the location for the line.

[0101] DRAW POLY LINE—0×45

[0102] This op-code causes a closed set of lines, each beginning wherethe prior line left off and ending at a specified location. The op-codeis followed by, among others, two 16-bit parameters indicating thecenter of the polygon. In addition, the op-code is followed by three32-bit parameters indicating the X and Y scaling factors and the numberof clockwise rotations. Next, is an 8-bit parameter indicating thenumber of sides of the polygon.

[0103] DRAW BOX—0×46

[0104] This op-code draws an unfilled rectangular box. The op-code isfollowed by four 16-bit parameters, X-LOCATION, Y-LOCATION, HEIGHT andWIDTH that are passed with the op-code to indicate the location of therectangle.

[0105] DRAW ELLIPSE—0×47

[0106] This op-code draws an ellipse with a center and radius indicatedby parameters passed with the op-code. More specifically, the parametersinclude three 16-bit parameters, XLOCATION, YLOCATION, and RADIUS.

[0107] DRAW STYLED ELLIPSE—0×48

[0108] This op-code draws an ellipse using a preset style and locatedaccording to a center and radius indicated by parameters passed with theop-code. More specifically, the parameters include three 16-bitparameters, XLOCATION, YLOCATION, and RADIUS. In addition, one 8-bitop-code is included to select the style.

[0109] CLEAR SCREEN—0×49

[0110] This op-code clears the display of all graphics primitives.

[0111] INIT 2D BOX—0×50

[0112] This op-code initializes the creation of a 2D box. The op-code isfollowed by an 8-bit parameter indicating the index of the box, as wellas three 16-bit parameters indicating the MAXWIDTH, MAXHEIGTH andLINETHICKNESS for the box.

[0113] DRAW 2D BOX—0×51

[0114] This op-code causes a 2-D box to be drawn. Drawing the boxinvolves creating the box in a frame buffer of a display controller,erasing the box, and then saving the pixels which must be overwritten todisplay the box. The op-code is followed by an 8-bit parameterindicating the box index, five 16-bit parameters indicating the WIDTH,HEIGHT, LINETHICKNESS, and the XLOCATION and YLOCATION for the box. Inaddition, a 32-bit parameter is passed with the op-code indicating thecolor of the box.

[0115] ERASE 2D BOX—0×52

[0116] This op-code erases a specified 2D box and restores the pixelsthat were saved when the 2D box was drawn. The op-code is followed by an8-bit parameter indicating which box is to be erased.

[0117] REDRAW 2D BOX—0×53

[0118] This op-code re-draws a 2D box that was previously erased. Theop-code is followed by an 8-bit parameter indicating which box is to bere-drawn.

[0119] RELEASE 2D BOX—0×54

[0120] This op-code releases any memory allocated to a particular box.The op-code is followed by an 8-bit parameter indicating which box is tobe released from memory.

[0121] SHOW ARROW—0×60

[0122] This op-code causes an arrow, for example, a mouse pointer, to bedisplayed at a specified location. The op-code is followed by two 16-bitparameters indicating the X and Y coordinates where the arrow will belocated and an 8-bit parameter indicating the type of arrow to bedisplayed.

[0123] MOVE ARROW—0×61

[0124] This op-code causes an arrow to be moved to a specified location.The op-code is followed by two 16 bit parameters indicating theXLOCATION and the YLOCATION where the arrow will be moved.

[0125] HIDE ARROW—0×62

[0126] This op-code causes the arrow to be hidden.

[0127] REDRAW ARROW—0×63

[0128] This op-code causes a hidden arrow to be re-drawn.

[0129] DRAW TEXT—0×70

[0130] This op-code draws a text string in a specified boundingrectangle using a given style. The op-code is followed by parametersindicating the text style to be displayed, the location and dimensionsof the rectangle holding the text, the number of characters in thestring to be displayed, and the characters in the string to bedisplayed.

[0131] PLAY WAVEFORM—0×80

[0132] This op-code causes a stored audio wave file to be played. Theop-code is followed by a 16-bit parameter indicating the location of thestored wave file.

[0133] SYSTEM EXTENSION—0×FE

[0134] This op-code provides for any extensions. The op-code is followedby a 16-bit parameter and additional arguments as indicated by the16-bit parameter.

[0135] NO OPERATION—0×FF

[0136] This op-code does not perform any function.

[0137] Use of the present invention is most easily described in light ofvarious examples embodying various aspects of the present invention.FIGS. 5A and 5B illustrate an embodiment using the present invention tocreate a montage 110 of viddie clips derived from video title(s) 100.Referring to FIG. 5A, the parsing of a video title 100 into individualviddie clips or viddie clips 101, 102, 103, 104, 105, 106 and laterassembly into montage 110 is described. In one embodiment, video title100 may be a single movie title or it may be several video titles on aDVD. The viddie clips are then assembled to form viddie montage 110.Note in the illustration that viddie clips 101, 102, 103, 104, 105, 106are taken from video title 100 in a scrambled order. This exampleillustrates that viddie clips may be pulled from any part of a title ortitles, and thereafter arranged in any order in the montage. Moreover,viddie clips may be pulled from any title that appears on the DVD,including director's cuts, deleted scenes, and theatrical trailers. FIG.5B further illustrates an individual viddie clip 101. The total run time140 of viddie clip 101 is determined by specifying a beginning bookmark120 and an end bookmark 130.

[0138] In an embodiment according to the present invention, montage 110is created by developing a commentary using the aforementioned authoringtool including the described op-codes. The commentary is created byrecording an author's movements through video title 100. Morespecifically, the commentary records the author's movements as theyselect viddie clip 103, then viddie clip 101, then viddie clip 102 andso on for assembly into montage 110. These movements through video title100 are recorded as the commentary, or byte stream of op-codes andparameters. Playback of the commentary will cause viddie montage 110 toplay. One of ordinary skill in the art will recognize that a number ofdifferent assemblages of op-codes are possible to form montage 110 asillustrated.

[0139] In a particular embodiment, the commentary for causing montage110 to play includes the following twenty-five instructions described intheir text form rather than the op-code form that would represent theexecutable commentary:

[0140] 1. RESIZE DISPLAY WINDOW [Parameters]: sets up the window fordisplaying montage 110

[0141] 2. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of viddie clip 103

[0142] 3. PLAY: causes video title 100 to begin playing at viddie clip103

[0143] 4. GOPAST BOOKMARK [Parameter]: continues playing video title 100to the end of segment 103

[0144] 5. STOP :causes video title 100 to stop playing after theprevious bookmark is reached

[0145] 6. GOTO BOOKMARK [Parameter]: causes the playback to start againat the start of viddie clip 101

[0146] 7. PLAY: causes video title 100 to begin playing at viddie clip101

[0147] 8. GOPAST BOOKMARK [Parameter]: continues playing video title 100to the end of segment 101

[0148] 9. STOP :causes video title 100 to stop playing after theprevious bookmark is reached

[0149] 10. GOTO BOOKMARK [Parameter]: causes the playback to start againat the start of viddie clip 102

[0150] 11. PLAY: causes video title 100 to begin playing at viddie clip102

[0151] 12. GOPAST BOOKMARK [Parameter]: continues playing video title100 to the end of segment 102

[0152] 13. STOP :causes video title 100 to stop playing after theprevious bookmark is reached

[0153] 14. GOTO BOOKMARK [Parameter]: causes the playback to start againat the start of viddie clip 105

[0154] 15. PLAY: causes video title 100 to begin playing at viddie clip105

[0155] 16. GOPAST BOOKMARK [Parameter]: continues playing video title100 to the end of segment 105

[0156] 17. STOP :causes video title 100 to stop playing after theprevious bookmark is reached

[0157] 18. GOTO BOOKMARK [Parameter]: causes the playback to start againat the start of viddie clip 106

[0158] 19. PLAY: causes video title 100 to begin playing at viddie clip106

[0159] 20. GOPAST BOOKMARK [Parameter]: continues playing video title100 to the end of segment 106

[0160] 21. STOP :causes video title 100 to stop playing after theprevious bookmark is reached

[0161] 22. GOTO BOOKMARK [Parameter]: causes the playback to start againat the start of viddie clip 104

[0162] 23. PLAY: causes video title 100 to begin playing at viddie clip104

[0163] 24. GOPAST BOOKMARK [Parameter]: continues playing video title100 to the end of segment 104

[0164] 25. HALT

[0165] To create such a commentary, the author would fast forward to thevarious points in the video title and identify the particular bookmarksdesignating the viddie clip locations. In some embodiments, this is doneby reading the timer associated with video 100 and associating the startand stop points for the various viddie clips with the value on thetimer. In other embodiments, the Time Op-Codes as described above can beused to perform a similar marking function. The movements of the authorthrough video title 100 as they create the commentary can beautomatically recorded. The author can then edit the recorded commentaryto remove portions that are not desirable. In addition, in someembodiments, automatic editing of the commentary can be provided toremove extraneous instructions. For example, where the author marksbookmarks for the beginning, end and center of viddie clip 101 andindicates that viddie clip 101 should play from the beginning bookmarkto the end bookmark, the center bookmark and any interim play commandcan be removed as extraneous.

[0166] Montage 110 can be further enhanced by recording an author'sverbal commentary about each of the viddie clips for replay with themontage. As just an example, each of viddie clips 101, 102, 103, 104,105, 106 can be played through and paused at the end where the author'sverbal commentary on the viddie clip is played for the viewer. Thefollowing commentary including thirty-two instructions could beimplemented to provide the aforementioned montage:

[0167] 1. RESIZE DISPLAY WINDOW [Parameters]: sets up the window fordisplaying montage 110

[0168] 2. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of viddie clip 103

[0169] 3. PLAY: causes video title 100 to begin playing at viddie clip103

[0170] 4. GOPAST BOOKMARK [Parameter]: continues playing video title 100to the end of segment 103

[0171] 5. PAUSE: causes video title 100 to pause playing after theprevious bookmark is reached

[0172] 6. PLAY WAVEFORM [Parameter]: play the author's audio descriptionof viddie clip 103

[0173] 7. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of viddie clip 101

[0174] 8. PLAY: causes video title 100 to begin playing at viddie clip101

[0175] 9. GOPAST BOOKMARK [Parameter]: continues playing video title 100to the end of segment 101

[0176] 10. PAUSE :causes video title 100 to pause playing after theprevious bookmark is reached

[0177] 11. PLAY WAVEFORM [Parameter]: play the author's audiodescription of viddie clip 101

[0178] 12. GOTO BOOKMARK [Parameter]: causes the playback to begin atthe start of viddie clip 102

[0179] 13. PLAY: causes video title 100 to begin playing at viddie clip102

[0180] 14. GOPAST BOOKMARK [Parameter]: continues playing video title100 to the end of segment 102

[0181] 15. PAUSE: causes video title 100 to pause playing after theprevious bookmark is reached

[0182] 16. PLAY WAVEFORM [Parameter]: play the author's audiodescription of viddie clip 102

[0183] 17. GOTO BOOKMARK [Parameter]: causes the playback to begin atthe start of viddie clip 105

[0184] 18. PLAY: causes video title 100 to begin playing at viddie clip105

[0185] 19. GOPAST BOOKMARK [Parameter]: continues playing video title100 to the end of segment 105

[0186] 20. PAUSE: causes video title 100 to pause playing after theprevious bookmark is reached

[0187] 21. PLAY WAVEFORM [Parameter]: play the author's audiodescription of viddie clip 105

[0188] 22. GOTO BOOKMARK [Parameter]: causes the playback to begin atthe start of viddie clip 106

[0189] 23. PLAY: causes video title 100 to begin playing at viddie clip106

[0190] 24. GOPAST BOOKMARK [Parameter]: continues playing video title100 to the end of segment 106

[0191] 25. PAUSE: causes video title 100 to pause playing after theprevious bookmark is reached

[0192] 26. PLAY WAVEFORM [Parameter]: play the author's audiodescription of viddie clip 106

[0193] 27. GOTO BOOKMARK [Parameter]: causes the playback to begin atthe start of viddie clip 104

[0194] 28. PLAY: causes video title 100 to begin playing at viddie clip104

[0195] 29. GOPAST BOOKMARK [Parameter]: continues playing video title100 to the end of segment 104

[0196] 30. PAUSE: causes video title 100 to pause playing after theprevious bookmark is reached

[0197] 31. PLAY WAVEFORM [Parameter]: play the author's audiodescription of viddie clip 104

[0198] 32. HALT

[0199] Viddie montage 110 adds value to a DVD title by creating thematicmontages of viddie clips. For example, a montage could be compiled forexplosions in an action film, or kisses in a romantic drama, orexplosive-corrosive-acid-soaked-kisses in a sci-fi thriller. Forexample, assume a studio is putting out a sci-fi thriller and wants toassemble a kissing viddie montage. All the kissing parts of the filmwould be identified as well as their respective DVD run-times 140,including the beginning bookmark 120 and the ending bookmark 130. Thisidentification and compilation generates a run list for a single viddiemontage 110 with each of the kissing scenes, which are viddie clips, andtheir individual in and out time codes.

[0200] In some embodiments, the minimum run time for a viddie clip isone video frame. Thus, the system can be used to create still imagesfrom digital video title 100. Such still images can be used to create ahyper slide of a scene from video title 100. Referring to FIG. 6, anembodiment creating a montage 110 of hyper slides 101, 102, 103 isdescribed. Video title 100 includes viddie clips 101, 102, 103 whereeach of the viddie clips is a single frame of video title 100. Thus,viddie clips 101, 102, 103 are in the form of hyper slides. Montage 110can be created using the following commentary:

[0201] 1. RESIZE DISPLAY WINDOW [Parameters]: sets up the window fordisplaying montage 110

[0202] 2. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of hyper slide 101

[0203] 3. FREEZE: causes video title 100 to freeze with hyper slide 101displayed

[0204] 4. TIMER EVENT [Parameter]: causes the hyper slide 101 to remaindisplayed for a specified period

[0205] 5. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of hyper slide 102

[0206] 6. FREEZE: causes video title 100 to freeze with hyper slide 102displayed

[0207] 7. TIMER EVENT [Parameter]: causes the hyper slide 102 to remaindisplayed for a specified period

[0208] 8. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of hyper slide 103

[0209] 9. FREEZE: causes video title 100 to freeze with hyper slide 103displayed

[0210] 10. TIMER EVENT [Parameter]: causes the hyper slide 103 to remaindisplayed for a specified period

[0211] 11. HALT

[0212] Montage 110 described in relation to FIG. 6 can be furtherenhanced by providing detailed views of the various hyper slides 101,102, 103. As illustrated, hyper slide 102 is decomposed into componentparts to view various details, or vista points 105, 108, 110, of hyperslide 102. These vista points can be zoomed portions of hyper slide 102.This provides the end viewer with the opportunity to understand thedetail and care that went into developing video title 100. Montage 110including vista points 105, 108, 115 can be created using the followingcommentary:

[0213] 1. RESIZE DISPLAY WINDOW [Parameters]: sets up the window fordisplaying montage 110

[0214] 2. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of hyper slide 101

[0215] 3. FREEZE: causes video title 100 to freeze with hyper slide 101displayed

[0216] 4. TIMER EVENT [Parameter]: causes the hyper slide 101 to remaindisplayed for a specified period

[0217] 5. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of hyper slide 102

[0218] 6. FREEZE: causes video title 100 to freeze with hyper slide 102displayed

[0219] 7. TIMER EVENT [Parameter]: causes the hyper slide 102 to remaindisplayed for a specified period

[0220] 8. SET ZOOM [Parameters]: zooms in sufficiently to display anarea the size of vista point 105

[0221] 9. SET PAN [Parameters]: pans to the portion of hyper slide 102containing the image of vista point 105

[0222] 10. TIMER EVENT [Parameter]: causes hyper slide 105 to remaindisplayed for a specified period

[0223] 11. SET ZOOM [Parameters]: zooms in sufficiently to display anarea the size of vista point 108

[0224] 12. SET PAN [Parameters]: pans to the portion of hyper slide 102containing the image of vista point 108

[0225] 13. TIMER EVENT [Parameter]: causes hyper slide 108 to remaindisplayed for a specified period

[0226] 14. SET ZOOM [Parameters]: zooms in sufficiently to display anarea the size of vista point 115

[0227] 15. SET PAN [Parameters]: pans to the portion of hyper slide 102containing the image of vista point 115

[0228] 16. TIMER EVENT [Parameter]: causes hyper slide 115 to remaindisplayed for a specified period

[0229] 17. GOTO BOOKMARK [Parameter]: causes the playback to begin atthe start of hyper slide 103

[0230] 18. FREEZE: causes video title 100 to freeze with hyper slide 103displayed

[0231] 19. TIMER EVENT [Parameter]: causes the hyper slide 103 to remaindisplayed for a specified period

[0232] 20. HALT

[0233] Other embodiments can provide for the author's verbal discussionof, for example, vista point 108. Such an embodiment is provided usingthe following set of instructions:

[0234] 1. RESIZE DISPLAY WINDOW [Parameters]: sets up the window fordisplaying montage 110

[0235] 2. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of hyper slide 101

[0236] 3. FREEZE: causes video title 100 to freeze with hyper slide 101displayed

[0237] 4. TIMER EVENT [Parameter]: causes the hyper slide 101 to remaindisplayed for a specified period

[0238] 5. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of hyper slide 102

[0239] 6. FREEZE: causes video title 100 to freeze with hyper slide 102displayed

[0240] 7. TIMER EVENT [Parameter]: causes the hyper slide 102 to remaindisplayed for a specified period

[0241] 8. SET ZOOM [Parameters]: zooms in sufficiently to display anarea the size of vista point 105

[0242] 9. SET PAN [Parameters]: pans to the portion of hyper slide 102containing the image of vista point 105

[0243] 10. TIMER EVENT [Parameter]: causes hyper slide 105 to remaindisplayed for a specified period

[0244] 11. SET ZOOM [Parameters]: zooms in sufficiently to display anarea the size of vista point 108

[0245] 12. SET PAN [Parameters]: pans to the portion of hyper slide 102containing the image of vista point 108

[0246] 13. PLAY WAVEFORM [Parameter]: play the author's audiodescription of vista point 108

[0247] 14. TIMER EVENT [Parameter]: causes hyper slide 108 to remaindisplayed for a specified period

[0248] 15. SET ZOOM [Parameters]: zooms in sufficiently to display anarea the size of vista point 115

[0249] 16. SET PAN [Parameters]: pans to the portion of hyper slide 102containing the image of vista point 1 15

[0250] 17. TIMER EVENT [Parameter]: causes hyper slide 115 to remaindisplayed for a specified period

[0251] 18. GOTO BOOKMARK [Parameter]: causes the playback to begin atthe start of hyper slide 103

[0252] 19. FREEZE: causes video title 100 to freeze with hyper slide 103displayed

[0253] 20. TIMER EVENT [Parameter]: causes the hyper slide 103 to remaindisplayed for a specified period

[0254] 21. HALT

[0255] In yet other embodiments, viddie clips (or hyper slides) 101,102, 103 and/or vista points 105, 108, 115 can be marked using 2Dgraphics instructions. Such marking can be placed over multiple framesof a viddie clip or over a single frame hyper slide. Referring to FIG.7, an example of a 2D graphics markup of hyper slide 103 is described.As illustrated, hyper slide 103 comprises an aircraft 403 and aparachutist 415. Aircraft 403 includes a canopy 405, a star marking 404,and a country designation 435. Provided graphically with hyper slide 103are an arrow 400 that is moved from point 400 a where it designatescanopy 405 to point 400 b where it designates star marking 404. Inaddition, an outline box 430 surrounds country designation 435. Anellipse 410 surrounds parachutist 415 and a line 420 goes from ellipse410 to text box 425. Text box 425 can include a text string describingparachutist 415.

[0256] The 2D graphics can be displayed over hyper slide 103 all at onetime, or they can be displayed one at a time such that the prior 2Dgraphics are removed before adding the next 2D graphics. Alternatively,the 2D graphics can be displayed incrementally, for example, by addingellipse 410, text box 425 and line 420 first followed by an explanationof parachutist 415. Then, without erasing the aforementioned graphics,box 430 can be added followed by a description of the countrydesignation. One of ordinary skill in the art will appreciate that anynumber of combinations are possible in accordance with the presentinvention.

[0257] Arrow 400 can be moved to different locations. Thus, for example,arrow 400 could be moved to point 400 a followed by a discussion ofcanopy 405 and subsequently moved to point 400 b and followed by adescription of star marking 404. Dashed line 401 indicates the pathalong which arrow 400 moves. In some embodiments, arrow 400 is erased atposition 400 a and re-appears at position 400 b. In other embodiments,arrow 400 is visible as it moves from position 400 a to position 400 balong path 401.

[0258] Box 430 can be used to designate a portion to be selected, zoomedand panned to create a vista point as previously discussed. Thus, forexample, hyper slide 103 could be displayed and subsequently have box430 drawn thereon. The viewer would thus see hyper slide 103 includingbox 430 surrounding country designation 435. Then, after a period oftime, the portion of hyper slide 103 incorporated in box 430 could bere-displayed as a vista point. Thus, the viewer would only see countrydesignation 435 on the wing of aircraft 403.

[0259] The graphics can be created using a joystick, graphics tablet orother suitable computer input device. The inputs from the computer inputdevices can be automatically recorded as part of a commentary. Thecommentary is then later edited to create the final commentary. Anexemplary commentary causing the graphics elements of FIG. 7 to displayis provided below:

[0260] 1. RESIZE DISPLAY WINDOW [Parameters]: sets up the window fordisplaying hyper slide 103

[0261] 2. GOTO BOOKMARK [Parameter]: causes the playback to begin at thestart of hyper slide 103

[0262] 3. FREEZE: causes video title 100 to freeze with hyper slide 103displayed

[0263] 4. SHOW ARROW [Parameters]: causes arrow 400 to be drawn atposition 400 a

[0264] 5. DRAW 2D BOX [Parameters]: causes box 430 to be displayedsurrounding designation 435

[0265] 6. DRAW ELLIPSE [Parameters]: causes ellipse 410 to be displayedsurrounding parachutist 415

[0266] 7. DRAW TEXT [Parameters]: causes text box 425 with theassociated text string to be displayed

[0267] 8. DRAW LINE [Parameters]: causes line 420 to be displayed fromellipse 410 to text box 425

[0268] 9. TIMER EVENT [Parameter]: causes the hyper slide 103 to remaindisplayed for a specified period

[0269] 10. MOVE ARROW [Parameters]: causes arrow 400 to be moved fromposition 400 a to position 400 b

[0270] 11. TIMER EVENT [Parameter]: causes the hyper slide 103 to remaindisplayed for a specified period

[0271] 12. HALT

[0272] Each of the 2D graphics can be displayed either coincident with,preceding, or following a verbal description of the significance of theadded graphic of the portion of hyper slide 103 designated by theparticular graphic. Thus, it will be appreciated by one of ordinaryskill in the art that a myriad of possibilities exist for marking orotherwise designating portions of video title 100. Such designations inthe form of a commentary can be executed by a viewer to provide anenhanced understanding of video title 100. Embodiments according to thepresent invention thus provide an author with an ability to createdirector's scripts tailored for viewers.

[0273]FIGS. 8A and 8B illustrate a flow chart 800 comprising steps forcreating a commentary in accordance with the present invention.Referring to FIG. 8A, the steps include creating a commentary (805) andediting the commentary (895). FIG. 8B details the steps involved in oneembodiment of creating a commentary (805).

[0274] Referring to FIG. 8B, the commentary is created by firstinitializing and sizing the display window (810) into which thecommentary will ultimately be presented. The indication of the videotitle is recorded in the commentary as op-codes followed by associatedparameters. Then, the default parameters for the graphics primitives areset (815). As previously discussed, the graphics primitives can includeline widths, line and fill colors, arrow styles etc. The selections forthe graphics primitives is recorded in the commentary as an op-codefollowed by the specific parameters. After the graphics are set (815),the video title that will form the basis of the commentary is selected(820).

[0275] Next, the viddie clip of the selected video title (820) that willbe commented upon is identified (825). In some embodiments, marking theportion is different for viddie clips than for hyper slides. Marking aviddie clip (830) includes marking the beginning (835) and the ending(840). Marking can be done by indicating the time at which the segmentbegins and ends, or providing any other suitable indication of thebeginning and end. Marking hyper slides (845) includes marking thebeginning (850) of the frame. The selecting and marking of the viddieclip or hyper slide is recorded in the commentary as op-codes followedby associated primitives.

[0276] After the viddie clip to be commented upon has been selected(825), various commands are received in relation to the selected portion(855). The commands are parsed (855) and handled in one or more commandsteps (860, 865, 870). For example, where a line is drawn on a graphicstablet from, as illustrated in FIG. 7, parachutist 415 to text box 425,the op-codes and associated parameters for replicating that line on adisplay are recorded in the commentary by the add graphic step (865).

[0277] Alternatively, where the author desires to make a verbalcommentary about the selected segment, it is added in an add verbal step(860). In step 860, the author speaks into a microphone and the commentsare recorded and stored on a PC at a particular address as a wave file.In addition, op-codes causing the wave file to be retrieved and playedare recorded in the commentary. Ultimately, in various embodiments, thecommentary, as well as the wave files are stored on a DVD with theassociated video title(s).

[0278] As yet another alternative, an author desiring to create a vistapoint can do so using the add vista point step (870). In someembodiments, to create a vista point, the author selects a section of aparticular viddie clip by marking it using a graphic tablet. The authorthen indicates that the selected section should be treated as a vistapoint. This action by the author causes op-codes for zooming andpanning, along with the associated parameters, to be recorded in thecommentary.

[0279] After a command is entered, parsed and recorded in the commentary(855, 860, 865, 870) the author is queried to determine if additionalcommands are to be entered in relation to the selected viddie clip(875). Alternatively, the application can simply assume that the authorwill input an additional command until the author explicitly indicatesthat they are finished. Where the author enters another command (875),the entered command is parsed and handled as described in relation tosteps 855, 860, 865, 870. This loop repeats until the author is finishedentering commands in relation to the selected viddie clip.

[0280] Once the author is finished entering commands in relation to theselected viddie clip, they are queried whether they would like to choosean additional viddie clip from the same video title to add to thecommentary (880). If the author desires to select and comment on anadditional segment, the author is returned to step 825, and the steps of825 through 880 are repeated for the next viddie clip. This processrepeats until the author is finished with all desired viddie clips fromthe video title.

[0281] Once the author is finished commenting on viddie clips of thevideo title, they are queried whether they would like to choose anadditional video title from which to choose viddie clips for comment(885). If the author desires to comment on viddie clips of another videotitle, the author is returned to step 820, and the steps of 820 through885 are repeated for the next video title. This process repeats untilthe author is finished with all desired video titles.

[0282] When the author has finished with all desired video titles, aHALT command is inserted in the commentary (890). At this point, thecommentary is complete and ready for final editing. The commentaryexists as a byte stream of op-codes representing the recorded commandsand selections followed by any associated parameters specifying thedetails of the recorded commands. In the editing process, the createdcommentary can be augmented by adding other created commentaries,deleted from, re-ordered, or modified in other ways.

[0283] At this juncture, one of ordinary skill in the art will recognizethat other command steps and/or commands are possible in accordance withthe present invention. Thus, the foregoing description should notinterpreted to limit in any way the type or scope of commands possible.

[0284] In some embodiments, editing the commentary (895) includescreating a text file of the commentary from the binary byte streamstored while creating the commentary (805), and editing the text file.The text file is created by reverse compiling the commentary. An exampleof such a text file commentary includes one command per line of textwith the command name displayed along with the op-code. The parametersassociated with each command are displayed one parameter per line andslightly indented in an area below the associated command. In someembodiments, the parameter names are displayed with a description of thetype and value.

[0285] The text file can be edited using any text editor to modify thecommentary and receive the desired result. In some embodiments, commandsassociated with particular video titles, viddie clips and/or hyperslides are grouped apart from commands associated with other videotitles, viddie clips and hyper slides. This helps the editor identifythe commands to be modified. Additionally, some embodiments provide fornaming the videos or hyper slides during commentary creation 805. Insuch embodiments, the name of the video title, viddie clip and/or hyperslide can be displayed along with the commands associated therewith toprovide for easy access during editing. After the editing is completed,the text file can be compiled to a byte stream of op-codes andparameters suitable for execution as a finalized commentary.

[0286] It is thought that the apparatuses and methods of the embodimentsof the present invention and many of its attendant advantages will beunderstood from this specification and it will be apparent that variouschanges may be made in the form, construction and arrangement of theparts thereof without departing from the spirit and scope of theinvention or sacrificing all of its material advantages, the form hereinbefore described being merely exemplary embodiments thereof.

What is claimed is:
 1. A method for providing an annotated video title,the method comprising: identifying a segment of a video title; providingan annotation associated with the segment of the video title; formattingthe annotation as a computer readable op-code; and storing the computerreadable op-code as part of a commentary associated with the videotitle.
 2. The method of claim 1, wherein the commentary is executable bya computer to provide an enhanced version of the video title.
 3. Themethod of claim 1, wherein the video title is a first video title, thecomputer readable op-code is a first computer readable op-code, and theannotation is a first annotation, the method further comprising:identifying a segment of a second video title; providing a secondannotation associated with the segment of the second video title;formatting the second annotation as a second computer readable op-code;and storing the second computer readable op-code as part of thecommentary associated with the first and second video titles.
 4. Themethod of claim 3, the method further comprising: storing the commentaryon a digital video disk with the first and second video titles.
 5. Themethod of claim 1, wherein the segment of the video title is a firstsegment of the video title, the computer readable op-code is a firstcomputer readable op-code, and the annotation is a first annotation, themethod further comprising: identifying a second segment of the videotitle; providing a second annotation associated with the second segmentof the video title; formatting the second annotation as a secondcomputer readable op-code; and storing the second computer readableop-code as part of the commentary associated with the video title. 6.The method of claim 1, the method further comprising: reverse compilingthe commentary to create a textual commentary, wherein the computerreadable op-code is formatted as a text string indicating the functionof the op-code; and modifying the text string of the textual commentary;and compiling the textual commentary to create a computer executablecommentary.
 7. The method of claim 6, wherein the computer executablecommentary is stored on a digital video disk with the video title. 8.The method of claim 6, wherein the op-code further comprises a parameterand modifying the text string comprises modifying the parameter.
 9. Themethod of claim 1, wherein the providing the annotation comprisesproviding a command via an input device selected from a group consistingof a graphics tablet, a keyboard, a joystick and a microphone.
 10. Themethod of claim 9, wherein the formatting the annotation as a computerreadable op-code comprises: receiving the command via the input device;and using a software interpreter, translating the command directly tothe computer readable op-code.
 11. The method of claim 1, wherein theannotation is provided in the form of a command and the command isselected from a group consisting of and add verbal command, an addgraphic command and an add vista point command, the method furthercomprising: parsing the command to determine if the command is an addgraphic command, an add verbal command and/or and add vista pointcommand.
 12. The method of claim 11, wherein the command is an addgraphic command, and wherein the computer readable op-code is executableto display a graphic associated with the segment of the video title. 13.The method of claim 11, wherein the command is an add verbal command,and wherein the computer readable op-code is executable to play an audiorecording associated with the segment of the video title.
 14. The methodof claim 11, wherein the command is an add vista point command, andwherein the computer readable op-code is executable to display a vistapoint associated with the segment of the video title.
 15. As system forcreating commentaries associated with video titles, the systemcomprising: a display; an interpreter for receiving commands from aninput device, wherein the commands comprise commands selected from agroup consisting of an add verbal command, an add graphic command and anadd vista point command, and wherein the commands are associated with avideo title presented on the display; and a memory element storing acomputer executable code operable to: receive the commands from theinterpreter; indicate a segment of the video title; and format thecommands as a computer executable commentary associated with the segmentof the video title.
 16. The system of claim 15, the system furthercomprising: an emulator for presenting the commentary to the display.17. The method of claim 16, wherein the display comprises a firstdisplay window and a second display window, and wherein at least aportion of the video title is displayed in the first display windowabsent annotations and the commentary is displayed in the second displaywindow, and wherein the commentary as displayed comprises at least aportion of the video title and an associated annotation.
 18. A systemfor presenting commentaries associated with one or more video titles,the system comprising: a memory storage device comprising a commentaryand a video title; and a microprocessor based player for retrievingportions of the commentary and portions of the video title and forcausing a presentation to display, wherein the presentation comprisesimages from the video title and annotations directed from thecommentary.
 19. The system of claim 18, wherein the presentationcomprises a frame from the video title overlaid with graphics.
 20. Themethod of claim 18, wherein the presentation comprises a viddie clipfrom the video title presented coincident with a verbal statementdescribing the viddie clip, and wherein the verbal statement ispresented under control of the commentary.